
#include <iostream>
using namespace std;
const int N = 2e5 + 10;      // 开2-3倍的空间
const int null = 0x3f3f3f3f; // 在题目中的范围以外的数,初始化数组

#include <cstring>
// 放取模值的数组
int h[N];

// 查找位置
int find(int x)
{

    int k = (x % N + N) % N;
    // 不是空，不等于x
    while (h[k] != null && h[k] != x)
    {
        k++;
        // 在从头开始找
        if (k == N)
        {
            k = 0;
        }
    }
    return k;
}

int main()
{

    int n;
    cin >> n;

    // 初始化数组
    memset(h, 0x3f, sizeof(h));

    while (n--)
    {

        char op[2];
        int x;

        scanf("%s%d", op, &x);

        int k = find(x);
        if (*op == 'I')
        {

            h[k] = x;
        }
        else
        {
            if (h[k] != null)
            {
                puts("Yes");
            }
            else
            {
                puts("N0");
            }
        }
    }

    return 0;
}